﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HexTileBoard
{
    /// <summary>
    /// Base tile type.
    /// </summary>
    public enum HexTileBase : short
    {
        Grass,
        Water,
        Sand,
    }

    /// <summary>
    /// Natural modifiers to a base tile type. Can be used in conjunction with manmade modifiers.
    /// </summary>
    public enum HexTileNaturalModifier : short
    {
        None,       // y
        Wheat,      // y
        //Hill2,      // y
        Hill2,      // y
        //Hill2,      // y
        Mountain1,  // y
        Mountain2,  // y
        Mountain3,  // y
        Trees1,     // y
        //Trees1,     // y
    }

    /// <summary>
    /// Manmade modifiers to a base tile type. Can be used in conjunction with natural modifiers.
    /// </summary>
    public enum HexTileManMadeModifier : short
    {
        None = -1,
        Bridge = 0,             // Can move from any, to any, available landing tile
        InfluenceTower1 = 1,
        InfluenceTower2 = 2,
        InfluenceTower3 = 3,
        DefensiveTower = 4,     // y One tile range, can only be added on a hill, remove hill
    }

    /// <summary>
    /// Modifiers to a tile to indicate the type of resource they contain
    /// </summary>
    public enum HexTileResource : short
    {
        None,
        Stone,
        Wood,
        Iron,
        Wheat,
        Clay,
    }

    public enum TileUnit : short
    {
        None,
        HeavyCannon,
        LightCannon,
    }
}
